飞牛NAS搭建旁路由

本次搭建使用 Docker 的方式,仓库为 OpenWrt-Docker(OpenWrt-24.10 (PassWall & OpenClash),基于ImmortalWrt OpenWrt-24.10),以下为本地网络信息:

网关:192.168.71.1

NAS 所在IP:192.168.71.71

期望旁路由的地址:192.168.71.72

安装

安装步骤来自 https://github.com/zzsrv/OpenWrt-Docker

使用 ssh 登录飞牛

1、打开网卡混杂模式,其中eth0根据ifconfig命令找到自己的本地网卡名称替换

1
sudo ip link set enp1s0 promisc on

2、创建名称为macvlan的虚拟网卡,并指定网关gateway、子网网段subnet、虚拟网卡的真实父级网卡parent(第一步中的本地网卡名称)

1
docker network create -d macvlan --subnet=192.168.0.0/24 --gateway=192.168.0.1 -o parent=enp1s0 macnet

上述的 subnet 和 gateway 地址是创建出来的地址情况,并非填写自己真实的网络。

3、查看虚拟网卡是否创建成功,成功的话能看到名称为“macnet”的虚拟网卡

1
docker network ls

4、拉取镜像,可以通过阿里云镜像提升镜像拉取速度

1
docker pull registry.cn-hangzhou.aliyuncs.com/zzsrv/openwrt:latest

5、创建容器并后台运行

1
docker run --restart always --name openwrt -d --network macnet --privileged zzsrv/openwrt /sbin/init

6、进入容器内部环境

1
docker exec -it openwrt bash

7、根据自己实际情况修改网络配置,修改完成后保存配置

1
vi /etc/config/network

8、退出容器内部环境,在宿主机环境执行重启容器命令

1
docker container restart openwrt

下面是我本地执行的情况,可作为参考:

查看刚刚创建出来的 docker 网络的信息

1
sudo docker network inspect macnet
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
[
{
"Name": "macnet",
"Id": "afa2b5b123afbff3cc2d2b0a6355dbd9c059614500e147408333e5bbacd8b2a8",
"Created": "2025-09-20T21:32:25.784269477+08:00",
"Scope": "local",
"Driver": "macvlan",
"EnableIPv4": true,
"EnableIPv6": false,
"IPAM": {
"Driver": "default",
"Options": {},
"Config": [
{
"Subnet": "192.168.0.0/24",
"Gateway": "192.168.0.1"
}
]
},
"Internal": false,
"Attachable": false,
"Ingress": false,
"ConfigFrom": {
"Network": ""
},
"ConfigOnly": false,
"Containers": {
"8f3e08be234d54598ac7611d44dd00c7a7d06a8fe0b9a7bb960e03498042e72a": {
"Name": "openwrt",
"EndpointID": "3d5f64f228212167f2e5bb7a342a68be7114f2c9fd57ca66eda345ff299545fe",
"MacAddress": "0e:77:8b:c2:0a:25",
"IPv4Address": "192.168.0.2/24",
"IPv6Address": ""
}
},
"Options": {
"parent": "enp3s0"
},
"Labels": {}
}
]

查看 /etc/config/network 的内容

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
bash-5.2# cat /etc/config/network 
config interface 'loopback'
option proto 'static'
option ipaddr '127.0.0.1'
option netmask '255.0.0.0'
option device 'lo'

config globals 'globals'
option packet_steering '1'

config interface 'lan'
option proto 'static'
option netmask '255.255.255.0'
option ip6assign '60'
option ipaddr '192.168.71.72' # 修改为自己旁路由网关希望的地址
option gateway '192.168.71.1' # 需要为自己网关的地址
option dns '114.114.114.114'
option device 'br-lan'

config device
option name 'br-lan'
option type 'bridge'
list ports 'eth0'

若不出意外,此时浏览器打开 http://192.168.71.72 即可访问到页面了。

OpenClash 配置

在服务 -> OpenClash -> 配置订阅中配置机场的地址,并设置自动更新

在覆写设置中设置自定义规则

最后开启服务

这里可能会失败很多次,需要反复去看运行日志进行调试。查看具体是什么错误。我就曾经出现过配置名称中带有斜线,导致服务不能正常启动的情况。

使用测试

路由器最好是设置两个 WIFI,一个走旁路由一个不走,这样可以灵活选择,对于电视等设备可以不走。对于手机,电脑等设备选择走旁路由。

将电脑的网关设置为旁路由的地址,例如我这里是 192.168.71.72。这里还可以选择在路由器里面设置,将路由器 DHCP 分配的网关和 DNS 都进行统一的配置。

访问 https://ip111.cn/ 进行 IP 测试,访问 goole,youtube 进行测试,能访问即成功!